package net.taobaoge.common.framework.util.page;
/**
 * 一个可以支持进行分页的接口，如果想要对数据库查询的记录进行分页<br>
 * 可以实现这个接口，并在实现类当中编写正常的分页方法<br>
 * <pre>
 * 	一共有16条数据-----getTotalCount=16
 *  每一页大小是5------getPageSize=5
 *  总的页数 4---------getTotalPage=4    16/5+1
 *  
 *  假设我们在第2页----getPageNo=2
 *  
 *  isFirstPage=======false
 *  isLastPage========false
 *  getNextPage-------3
 *  getPrePage--------1
 *  
 *  
 *  假设我们在第1页----getPageNo=1
 *  
 *  isFirstPage=======true
 *  isLastPage========false
 *  getNextPage-------2
 *  getPrePage--------1
 *  
 *   假设我们在第4页----getPageNo=4
 *  
 *  isFirstPage=======false
 *  isLastPage========true
 *  getNextPage-------4
 *  getPrePage--------3
 *  
 * </pre>
 * @author Administrator
 *
 */
public interface Paginable {
	/**
	 * 得到数据的总数
	 * @return 数据的总数
	 */
	public int getTotalCount();
	/**
	 * 获取总的页数
	 * @return 总的页数
	 */
	public int getTotalPage();
	/**
	 * 获取每页的大小
	 * @return 每页的大小
	 */
	public int getPageSize();
	/**
	 * 获取当前页数
	 * @return 当前页数
	 */
	public int getPageNo();
	/**
	 * 是第一页？
	 * @return 第一页？
	 */
	public boolean isFirstPage();
	/**
	 * 是最后一页？
	 * @return
	 */
	public boolean isLastPage();
	/**
	 * 获取下一页
	 * @return 下一页
	 */
	public int getNextPage();
	/**
	 * 获取上一页
	 * @return 上一页
	 */
	public int getPrePage();
}